package it.gestoreContratti.gui.frames;

import it.gestoreContratti.database.exception.DatabaseConnectionException;
import it.gestoreContratti.database.exception.QueryException;
import it.gestoreContratti.entity.Specifica;
import it.gestoreContratti.gui.panels.ContrattiScadenzaPanel;
import it.gestoreContratti.gui.panels.VisualizzaSpecificheContrattoPanel;

import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Vector;

import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

public class VisualizzaSpecificheContrattoFrame extends JFrame {

	/**
	 * 
	 */
	private static final long serialVersionUID = -636000735931202470L;
	private JPanel contentPane;
	private ContrattiScadenzaPanel pannello;
	private Vector<Specifica> specifiche;
	private VisualizzaSpecificheContrattoPanel visualizzaSpecificheContrattoPanel;

	
	public VisualizzaSpecificheContrattoFrame(ContrattiScadenzaPanel panel) {
		this.pannello = panel;
		try {
			specifiche = pannello.getSpecificheContratto();
		} catch (DatabaseConnectionException e1) {
			JOptionPane.showMessageDialog(null, e1.getMessage(),"",JOptionPane.ERROR_MESSAGE);
			specifiche = new Vector<Specifica>();
		} catch (QueryException e1) {
			JOptionPane.showMessageDialog(null, e1.getMessage(),"",JOptionPane.ERROR_MESSAGE);
			specifiche = new Vector<Specifica>();
		}
		addWindowListener(new WindowAdapter() {
			@Override
			public void windowClosing(WindowEvent e) {
				visualizzaSpecificheContrattoPanel.getAzioni().setVisible(false);
				pannello.refresh();
			}
		});
		setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
		if(specifiche.size() <= 0){
			setTitle("Specifiche");			
		}else{
			setTitle("Specifiche del contratto: "+panel.getSelectedContratto().getNumero().toString());
		}
		
		
		setSize(800, 600);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		GridBagLayout gbl_contentPane = new GridBagLayout();
		gbl_contentPane.columnWidths = new int[]{0, 0};
		gbl_contentPane.rowHeights = new int[]{0, 0, 0};
		gbl_contentPane.columnWeights = new double[]{1.0, Double.MIN_VALUE};
		gbl_contentPane.rowWeights = new double[]{1.0, 0.0, Double.MIN_VALUE};
		contentPane.setLayout(gbl_contentPane);
		
		visualizzaSpecificheContrattoPanel = new VisualizzaSpecificheContrattoPanel( pannello, specifiche);
		GridBagConstraints gbc_visualizzaSpecificheContrattoPanel = new GridBagConstraints();
		gbc_visualizzaSpecificheContrattoPanel.insets = new Insets(0, 0, 5, 0);
		gbc_visualizzaSpecificheContrattoPanel.fill = GridBagConstraints.BOTH;
		gbc_visualizzaSpecificheContrattoPanel.gridx = 0;
		gbc_visualizzaSpecificheContrattoPanel.gridy = 0;
		contentPane.add(visualizzaSpecificheContrattoPanel, gbc_visualizzaSpecificheContrattoPanel);
		

//		JMenuBar menuBar = new JMenuBar();
//		JMenu specificheMenu = new JMenu("Specifiche");
//		JMenuItem nuovaSpecificaMenuItem = new JMenuItem("Nuova");
//		nuovaSpecificaMenuItem.addMouseListener(new MouseAdapter() {
//			@Override
//			public void mouseReleased(MouseEvent arg0) {
//				NuovaSpecificaFrame nuovaSpecificaFrame = new NuovaSpecificaFrame(pannello, visualizzaSpecificheContrattoPanel);
//				nuovaSpecificaFrame.setVisible(true);								
//			}
//		});
//		
//		specificheMenu.add(nuovaSpecificaMenuItem);
//		menuBar.add(specificheMenu);		
//		setJMenuBar(menuBar);
		
	}

}
